package com.qijian.maindata.domain.vo;


import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qijian.common.annotation.Excel;
import com.qijian.common.enums.ApprovalDescriptionEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class StdPointOrderExcel {
    private static final long serialVersionUID = 1L;

    @Excel(name = "申请标题")
    @ApiModelProperty(value = "申请标题")
    private String applyTitle;

    @Excel(name = "申请编号")
    @ApiModelProperty(value = "申请编号")
    private String number;


    @Excel(name = "申请人")
    @ApiModelProperty(value = "申请人")
    private String applyName;

    @Excel(name = "申请人部门")
    @ApiModelProperty(value = "申请人部门")
    private String applyDeptName;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "申请日期")
    private Date applyDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "过期日期")
    private Date expireDate;

    @Excel(name = "申请类型")
    @ApiModelProperty(value = "申请类型")
    private String applyType;

    @Excel(name = "产品编码")
    @ApiModelProperty(value = "产品编码")
    private String itemCode;

    @Excel(name = "产品名称")
    @ApiModelProperty(value = "产品名称")
    private String itemName;


    @Excel(name = "开工令")
    @ApiModelProperty(value = "开工令")
    private String projectNos;

    @Excel(name = "产品重量")
    @ApiModelProperty(value = "产品重量")
    private BigDecimal itemWeight;

    @Excel(name = "审核者")
    @ApiModelProperty(value = "审核者")
    private String approvalBy;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "审核时间")
    private Date approvalTime;

    @Excel(name = "审核状态", dictType = "approval_status")
    @ApiModelProperty(value = "审核状态")
    private ApprovalDescriptionEnum approvalStatus;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "提交时间")
    private Date submissionTime;

    @ApiModelProperty("备注")
    private String remark;

    @Excel(name = "工序")
    @ApiModelProperty(value = "工序")
    private String processName;

    @Excel(name = "工序类型")
    @ApiModelProperty(value = "工序类型")
    private String processTypeName;

    @Excel(name = "原总工时")
    @ApiModelProperty(value = "原总工时")
    private BigDecimal workTime;

    @Excel(name = "原总工价")
    @ApiModelProperty(value = "原总工价")
    private BigDecimal workCost;

    @Excel(name = "工艺要求")
    @ApiModelProperty(value = "工艺要求")
    private String gyyq;


    @Excel(name = "图号")
    @ApiModelProperty(value = "图号")
    private String drawingNo;

    @Excel(name = "件号")
    @ApiModelProperty(value = "件号")
    private String partNo;


    @Excel(name = "总数量")
    @ApiModelProperty(value = "总数量")
    private BigDecimal count;

    @Excel(name = "新总工时")
    @ApiModelProperty(value = "新总工时")
    private BigDecimal newWorkTime;

    @Excel(name = "新总工价")
    @ApiModelProperty(value = "新总工价")
    private BigDecimal newWorkCost;

    @Excel(name = "时薪")
    @ApiModelProperty(value = "时薪")
    private BigDecimal avgPrice;

    @Excel(name = "变更原因")
    @ApiModelProperty(value = "变更原因")
    private String reason;

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String detailRemark;


    @Excel(name = "生产单元编码")
    private String factoryCode;


    @Excel(name = "生产单元名称")
    private String factoryName;



    @Excel(name = "生产单元类型")
    private String factoryType;


    @Excel(name = "负责人")
    private String chargeName;


}
